昨天介紹了 Docker-Compose 的基本使用方式,讓我們輕鬆管理多個服務。今天我們將深入了解昨天的 docker-compose.yml 檔案,看看它都做了哪些事情。
首先,讓我們回顧一下昨天的 docker-compose.yml:
version: '3.8'
services:
  backend:
    build: .
    container_name: backend_flask
    networks:
      - net
    ports:
      - 5000:5000
    environment:
      - REDIS_URL=redis://cache:6379/0
    volumes:
      - .:/project:ro
    command: "python3 app.py"
  cache:
    image: redis
    container_name: database_redis
    networks:
      - net
    ports:
      - 6379:6379
networks:
  net:
    name: frnet
    driver: bridge
現在,讓我們一一解釋每個部分:
version: '3.8': 這是 Docker-Compose 文件的版本。在此版本中,version 的指定方式已被棄用,建議參考 Compose文件版本進行指定。
networks: 這個部分定義了我們的 Docker 網路。在這裡,我們使用了 bridge 驅動程式,並且給它取了一個名稱 frnet。
services: 這是我們要啟動的各種服務的區塊。在這裡,我們有兩個服務:backend 和 cache。
backend: 這是我們的 Flask 後端服務。以下是它的一些設定:
cache: 這是一個使用 Redis 的快取服務。以下是它的一些設定:
這樣,我們可以透過 docker-compose up 一次性啟動這兩個服務。
如果需要停止並刪除 Container 可以用下面這個指令。
docker-compose down